package com.music.profile.beans;

import java.util.Date;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.music.profile.constants.SongState;

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Song {
	
	
	public Song(Long songId, String name, Long composerId, Long preferredUrlId,
			SongState songState, Long createdMemberId, Date creationDate,
			Date lastUpdateDate) {
		this.songId = songId;
		this.name = name;
		this.composerId = composerId;
		this.preferredUrlId = preferredUrlId;
		this.songState = songState;
		this.createdMemberId = createdMemberId;
		this.creationDate = creationDate;
		this.lastUpdateDate = lastUpdateDate;
	}
	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Long songId;
	@Persistent
	private String name;
	@Persistent
	private Long composerId;
	@Persistent
	private Long preferredUrlId;
	@Persistent
	private SongState songState;
	@Persistent
	private Long createdMemberId;
	
	@Persistent
	private Date creationDate;
	@Persistent
	private Date lastUpdateDate;
	public void setSongId(Long songId) {
		this.songId = songId;
	}
	public Long getSongId() {
		return songId;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void setComposerId(Long composerId) {
		this.composerId = composerId;
	}
	public Long getComposerId() {
		return composerId;
	}
	public void setPreferredUrlId(Long preferredUrlId) {
		this.preferredUrlId = preferredUrlId;
	}
	public Long getPreferredUrlId() {
		return preferredUrlId;
	}
	public void setSongState(SongState songState) {
		this.songState = songState;
	}
	public SongState getSongState() {
		return songState;
	}
	public void setCreatedMemberId(Long createdMemberId) {
		this.createdMemberId = createdMemberId;
	}
	public Long getCreatedMemberId() {
		return createdMemberId;
	}
	public void setLastUpdateDate(Date lastUpdateDate) {
		this.lastUpdateDate = lastUpdateDate;
	}
	public Date getLastUpdateDate() {
		return lastUpdateDate;
	}
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}
	public Date getCreationDate() {
		return creationDate;
	}
	
}
